//==========================================================================
/**
* @file	  : ManualObject.h
* @author : cpzhang <chengpengzhang@gmail.com>
* created : 2010-5-8   11:43
* purpose : 
*/
//==========================================================================

#ifndef __ManualObject_h__
#define __ManualObject_h__

#include "Common.h"
#include "RenderableObject.h"
//
namespace Euclid
{
	class ManualObject : public RenderableObject
	{
	public:
		ManualObject();
		~ManualObject();

		//
	public:
		//
		virtual bool create();
		//
		virtual void destroy();

		//
		virtual void render();

		//
		virtual void preRender();

		//
		virtual void postRender();

		//
	private:
		void _renderZPositive();
		void _renderZNegative();

		void _renderXPositive();
		void _renderXNegative();


		void _renderYPositive();
		void _renderYNegative();
		//
	private:
		IBufferFactory*			_bufferManager;
		VertexBuffer*			_vb;
		IndexBuffer*			_ib;
	};
}

#endif // __ManualObject_h__
